package com.sugar.subscribe.course.module.business.controller.admin.coach.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

@Schema(description = "管理后台 - 教练信息 Response VO")
@Data
public class CoachDetailRespVO {

    @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "28633")
    private Long id;

    @Schema(description = "用户ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "19564")
    private Long userId;

    @Schema(description = "昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
    private String nickname;

    @Schema(description = "头像")
    private String avatar;

    @Schema(description = "个人简介")
    private String personalProfile;

    @Schema(description = "教练展示图")
    private List<String> showImages;

    @Schema(description = "姓名", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
    private String name;

    @Schema(description = "手机号", requiredMode = Schema.RequiredMode.REQUIRED)
    private String mobile;

    @Schema(description = "性别 1男 2女（字典：system_user_sex）")
    private Integer gender;

    @Schema(description = "从业时间（字典：business_coach_work_time）", requiredMode = Schema.RequiredMode.REQUIRED)
    private String workTime;

    @Schema(description = "审核状态（字典：business_audit_status）", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    private Integer auditStatus;

    @Schema(description = "工作状态（0休息中 1上班中）", requiredMode = Schema.RequiredMode.REQUIRED)
    private Boolean isWork;

    @Schema(description = "总评分", requiredMode = Schema.RequiredMode.REQUIRED)
    private BigDecimal totalScore;

    @Schema(description = "人均价格（单位分）", requiredMode = Schema.RequiredMode.REQUIRED, example = "9632")
    private Integer perCapitaPrice;

    @Schema(description = "审核拒绝原因", requiredMode = Schema.RequiredMode.REQUIRED)
    private String refuseCause;

    @Schema(description = "状态（0禁用 1启用）", requiredMode = Schema.RequiredMode.REQUIRED)
    private Boolean status;

    @Schema(description = "佣金比例（0-100%）", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer commissionRate;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    private LocalDateTime createTime;

    @Schema(description = "余额（单位分）", requiredMode = Schema.RequiredMode.REQUIRED, example = "9632")
    private Integer balance;

    @Schema(description = "累计收益（单位分）", requiredMode = Schema.RequiredMode.REQUIRED, example = "9632")
    private Integer totalEarnings;
    /**
     * 首页推荐（0否 1是）
     */
    private Boolean homeRecommend;
    /**
     * 标签
     */
    private List<String> tags;


    @Schema(description = "场地ID列表", requiredMode = Schema.RequiredMode.REQUIRED)
    private List<Long> venueIds;

    @Schema(description = "服务类目列表", requiredMode = Schema.RequiredMode.REQUIRED)
    private List<Long[]> serviceIds;

}
